package com.android.lovely.api.model

import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass

@JsonClass(generateAdapter = true)
data class Bot(
    @Json(name = "id") val id: Int,
    @Json(name = "name") val name: String,
    @Json(name = "description") val description: String,
    @Json(name = "avatar") val avatar: String,
    @Json(name = "background") val background: String? = null,
    @Json(name = "is_collected") val isCollected: Boolean = false,
    @Json(name = "cards") val cards: List<Card> = emptyList()
)

@JsonClass(generateAdapter = true)
data class Card(
    @Json(name = "id") val id: Int,
    @Json(name = "name") val name: String,
    @Json(name = "image") val image: String,
    @Json(name = "description") val description: String? = null,
    @Json(name = "is_unlocked") val isUnlocked: Boolean = false,
    @Json(name = "price") val price: Int = 0
)

@JsonClass(generateAdapter = true)
data class UnlockResult(
    @Json(name = "success") val success: Boolean,
    @Json(name = "remaining_gems") val remainingGems: Int,
    @Json(name = "unlocked_cards") val unlockedCards: List<Int> = emptyList()
)

@JsonClass(generateAdapter = true)
data class BotCardsResponse(
    @Json(name = "total") val total: Int,
    @Json(name = "cards") val cards: List<Card>,
    @Json(name = "current_page") val currentPage: Int,
    @Json(name = "total_pages") val totalPages: Int
) 